#ifndef _CONFIG_H
#define _CONFIG_H

#define NPROC        64  // maximum number of processes
#define NCPU          8  // maximum number of CPUs
#define NOFILE       16  // open files per process
#define NFILE       100  // open files per system
#define NINODE       50  // maximum number of active i-nodes
#define NDEV         10  // maximum major device number
#define ROOTDEV       1  // device number of file system root disk
#define MAXARG       32  // max exec arguments
#define MAXOPBLOCKS  10  // max # of blocks any FS op writes
#define LOGSIZE      (MAXOPBLOCKS*3)  // max data blocks in on-disk log
#define NBUF         (MAXOPBLOCKS*3)  // size of disk block cache
#define FSSIZE       1000  // size of file system in blocks
#define MAXPATH      128   // maximum file path name


#define DRAM_BASE          0x80000000

#define USER_STACK 0x7f7ec000

#define MAX_ARGS 64

#define MAX_FDS 128
#define NEED_SHUTDOWN 1

#define INIT_FILE_REF 3
#define DEBUG 0
#define DEBUG_ELF 0
#define DEBUG_EXEC 0
#define DEBUG_MEM 0
#define DEBUG_SYSCALL 0
#define DEBUG_TIMER 0
#define DEBUG_MMAP 0
#define DEBUG_TRAPU 0
#define DEBUG_TRAPK 0
#define DEBUG_SCHE 0
#define DEBUG_PROC  0
#define DEBUG_FILE 0
#define DEBUG_CSR 0
#define DEBUG_PAGING 0
#define DEBUG_INODE 0

/* config.h.  Generated from config.h.in by configure.  */
/* config.h.in.  Generated from configure.ac by autoheader.  */

/* Define to run payload in machine mode */
/* #undef BBL_BOOT_MACHINE */

/* Define if subproject MCPPBS_SPROJ_NORM is enabled */
/* #undef BBL_ENABLED */

/* Define if subproject MCPPBS_SPROJ_NORM is enabled */
/* #undef DUMMY_PAYLOAD_ENABLED */

/* Define if subproject MCPPBS_SPROJ_NORM is enabled */
#define MACHINE_ENABLED /**/

/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "Andrew Waterman"

/* Define to the full name of this package. */
#define PACKAGE_NAME "RISC-V Proxy Kernel"

/* Define to the full name and version of this package. */
#define PACKAGE_STRING "RISC-V Proxy Kernel ?"

/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "riscv-pk"

/* Define to the home page for this package. */
#define PACKAGE_URL ""

/* Define to the version of this package. */
#define PACKAGE_VERSION "?"

/* Define if subproject MCPPBS_SPROJ_NORM is enabled */
#define PK_ENABLED /**/

/* Define if floating-point emulation is enabled */
/* #undef PK_ENABLE_FP_EMULATION */

/* Define if the RISC-V logo is to be displayed */
/* #undef PK_ENABLE_LOGO */

/* Define if virtual memory support is enabled */
#define PK_ENABLE_VM /**/

/* Define if the DTS is to be displayed */
/* #undef PK_PRINT_DEVICE_TREE */

/* Use relaxed payload alignment */
/* #undef RELAXED_ALIGNMENT */

/* Define if subproject MCPPBS_SPROJ_NORM is enabled */
/* #undef SOFTFLOAT_ENABLED */

/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1

/* Define if subproject MCPPBS_SPROJ_NORM is enabled */
#define UTIL_ENABLED /**/


#endif
